import axios from "axios";
import { ElMessage  } from "element-plus";
const instance = axios.create({
  baseURL: "http://sph-api.atguigu.cn",
  timeout: 5000,

})

instance.interceptors.request.use(config => {
  // 在发送请求之前做些什么
  // 例如添加认证头部信息、设置loading状态等
  const token = window.localStorage.getItem("token")
  config.headers.token = token


  console.log('请求拦截器');

  // 必须有返回config，不然请求无法发送
  return config;
}, error => {
  // 对请求错误做些什么
  console.error('请求拦截器错误', error);
  return Promise.reject(error);
});

// 响应拦截器
instance.interceptors.response.use(response => {
  // 对响应数据做些什么
  // 例如处理错误状态码、解析数据等
  console.log('响应拦截器');
  if (response.data.code == 200) {
    ElMessage ({
      message: response.data.message,
      type: "success",
      duration: 3 * 1000,
    });
  } else {
    ElMessage ({
      message: response.data.message,
      type: "error",
      duration: 3 * 1000,
    });
  }
  // 必须有返回response，不然无法在then里接收到响应

  return response.data;

}, error => {
  // 对响应错误做些什么
  console.error('响应拦截器错误', error);
  return Promise.reject(error);
});

export default instance;